SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[spCursadas]


@Carrera int,
@Curso varchar(2),
@AnioLectivo int,
@Espaciocurricular  int,
@Asignatura int,
@Aprobo varchar(1),
@Promedio Float = null,
@Conducta  int = null,
@Inasistencias  int = null,
@Tardanzas int = null,
@Sanciones  int = null,
@Alumno  int,
@PorcInasistencias Numeric = null,
@Estado Varchar (10) = null,
@Division Numeric= null,

-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion
@ABM int
AS
SET NOCOUNT ON
--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

----declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end


if exists (Select * from tb_Cursadas where Alumno = @Alumno and AnioLectivo = @AnioLectivo and Carrera = @Carrera and Curso = @Curso and Espaciocurricular = @Espaciocurricular ) begin
set @ABM = 3
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION
INSERT INTO tb_Cursadas (Carrera,Curso,AnioLectivo,Espaciocurricular,Asignatura,Aprobo,Promedio,Conducta,Inasistencias,Tardanzas,Sanciones,Alumno,PorcInasistencias,Estado,Division)
VALUES (@Carrera,@Curso,@AnioLectivo,@Espaciocurricular,@Asignatura,@Aprobo,@Promedio,@Conducta,@Inasistencias,@Tardanzas,@Sanciones,@Alumno,@PorcInasistencias,@Estado,@Division)
declare @idCursada int 
Select @idCursada =  @@identity


if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRANSACTION
end

if @ABM = 3 begin
BEGIN TRANSACTION
UPDATE tb_Cursadas
SET Carrera = @Carrera,Curso = @Curso,AnioLectivo = @AnioLectivo,Espaciocurricular =  @Espaciocurricular,Asignatura = @Asignatura,Aprobo = @Aprobo,Promedio = @Promedio,Conducta = @Conducta,Inasistencias = @Inasistencias,Tardanzas = Tardanzas,Sanciones = @Sanciones,Alumno = @Alumno,PorcInasistencias = @PorcInasistencias,Estado = @Estado,Division = @Division
where Alumno = @Alumno and AnioLectivo = @AnioLectivo and Carrera = @Carrera and Curso = @Curso and Espaciocurricular = @Espaciocurricular

if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
end

if @ABM = 2 begin
BEGIN TRANSACTION
DELETE tb_Cursadas FROM  tb_Cursadas WHERE  Alumno = @Alumno and AnioLectivo = @AnioLectivo and Carrera = @Carrera and Curso = @Curso and Espaciocurricular = @Espaciocurricular

if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end
GO
